var routerApp = angular.module('routerApp', ['ui.router', 'ngGrid','UserCarModule']);
/**
 * 由于整个应用都会和路由打交道，所以这里把$state和$stateParams这两个对象放到$rootScope上，方便其它地方引用和注入。
 * 这里的run方法只会在angular启动的时候运行一次。
 * @param  {[type]} $rootScope
 * @param  {[type]} $state
 * @param  {[type]} $stateParams
 * @return {[type]}
 */
routerApp.run(function($rootScope, $state, $stateParams) {
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;
});

/**
 * 配置路由。
 * 注意这里采用的是ui-router这个路由，而不是ng原生的路由。
 * ng原生的路由不能支持嵌套视图，所以这里必须使用ui-router。
 * @param  {[type]} $stateProvider
 * @param  {[type]} $urlRouterProvider
 * @return {[type]}
 */
routerApp.config(function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('home');
    $stateProvider
    	.state('login', {
            url: '/login',
            views: {
                '': {
                    templateUrl: 'index/login.html'
                },
                'footer@login': {
                    templateUrl: 'index/footer.html',
                    controller: function($scope){
					    $scope.footer = 'footers';
					  }
                }
            }
        })
    	.state('contents', {
             url: '/content/',
             views: {
                '': {
                    templateUrl: 'index/head.html',
                    controller: function($scope){
					    $scope.footer = 'footer';
					 }
                },
                'header@contents': {
                    templateUrl: 'index/header.html'
                },
                'footer@contents': {
                    templateUrl: 'index/footer.html',
                    controller: function($scope){
					    $scope.footer = 'footer';
					 }
                },
            }
        })
        .state('contents.home', {
             url: 'home',
            views: {
                'content@contents': {
                    templateUrl: 'index/home.html'
                }
            }
        })
        .state('contents.addcar', {
             url: 'addcar',
            views: {
                'content@contents': {
                    templateUrl: 'index/addcar.html'
                }
            }
        })
         .state('contents.addattach', {
             url: 'addattach',
            views: {
                'content@contents': {
                    templateUrl: 'index/addattach.html'
                }
            }
        })
        .state('contents.home.carinfo', {
             url: '/carinfo',
            views: {
                'content@contents': {
                    templateUrl: 'index/carinfo.html'
                }
            }
        })
//      .state('booklist', {
//          url: '/{bookType:[0-9]{1,4}}',
//          views: { //注意这里的写法，当一个页面上带有多个ui-view的时候如何进行命名和视图模板的加载动作
//              '': {
//                  templateUrl: 'index/tpls/bookList.html'
//              },
//              'booktype@booklist': {
//                  templateUrl: 'index/tpls/bookType.html'
//              },
//              'bookgrid@booklist': {
//                  templateUrl: 'index/tpls/bookGrid.html'
//              }
//          }
//      })
//      .state('addbook', {
//          url: '/addbook',
//          templateUrl: 'index/tpls/addBookForm.html'
//      })
//      .state('bookdetail', {
//          url: '/bookdetail/:bookId', //注意这里在路由中传参数的方式
//          templateUrl: 'index/tpls/bookDetail.html'
//      })
});
